Methods and systems for providing customized virtual and augmented realities

ABSTRACT

Methods are disclosed for providing alternate reality (e.g., virtual reality) representations to users. Exemplary methods employ data collections (e.g., stacks) which affect the virtual representations of baseline virtual models. Data collections contain layers which contain deltas. The deltas specify modifications to the baseline virtual reality world or model. The deltas may be geocoded, while the layers that contain them may not be geocoded. Separately selectable layers are used to temporarily modify or substitute baseline data or virtual elements (e.g., virtual objects) that are ultimately presented to a user on an output device. Conflict resolution algorithms harmonize conflicts between layers of a collection.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional patentapplication No. 62/513,591, filed Jun. 1, 2017, the complete contents ofwhich are herein incorporated by reference.

FIELD OF THE INVENTION

The invention generally relates to virtual reality (VR) and augmentedreality (AR) and, in particular, VR and AR representations which involvegeocoded data such as geocoded virtual objects.

BACKGROUND

A visual representation of a traditional virtual reality world that ismodeled after the real world is constructed from baseline data thatincludes geodata and geocoded virtual object data. An example of avirtual reality world modeled after the real world is a virtual downtownManhattan in which virtual objects which appear as streets signs,buildings, roads, and bridges correspond geodetically with real streetsigns, buildings, roads, and bridges in the real world downtownManhattan. The real world downtown Manhattan is in a constant state ofchange, one of the most notable changes being the construction of newbuildings. When a new building is constructed in the real world downtownManhattan, a desirably arises to update the virtual model of downtownManhattan to also show the new building and thus maintain an up-to-datemodel of the real world place. Traditionally, this update would involveediting or replacing existing or initial data of the data set thatdescribes that virtual world. In this process, the original data may beoverwritten or deleted. This is but one example scenario of an existinguse and modification of a virtual reality world.

Various problems arise from a modification or update process to avirtual world as described in the preceding paragraph. First, differentusers of the same baseline data may desire or have need of differentmodifications or updates. In some instances, the changes needed by auser A and the changes needed by a user B are mutually exclusive. Inother instances, the changes needed by user A may be tailoredspecifically to the needs of user A, in which case it is preferable touser B that the changes are not made at all. It is not possible toanswer these problems with custom baseline data sets for each user.Virtual worlds which are based on real world places are in large partproprietary, owned by companies like Google who maintain strictregulation of the baseline dataset even after its usage is licensed outto various users. As a result, customization of the baseline data isdifficult or impossible for all but the owner of the baseline data.

SUMMARY

According to an aspect of some embodiments, data collections containinggeocoded data are accessed, and separately selectable layers of the datacollections are used to modify or substitute baseline data for virtualelements (e.g., virtual objects) that are ultimately presented to a useron an output device.

Although the alternate reality representations of the baseline data maybe modified or substituted according the needs of specific user, thebaseline data itself as stored may remain unaltered.

In an aspect of some embodiments, a new data organization method andstructure is employed which allows novel virtual reality and augmentedreality representations on displays and other output devices.

In another aspect of some embodiments, new methods for producing virtualreality and augmented reality representations are provided which permitcustomization of baseline datasets describing virtual reality worlds(i.e., virtual reality models).

A particular alternate reality representation, be it in virtual realityor augmented reality, may be based on a combination of differentaugmentation feeds from a variety of different sources. The augmentationfeeds are meaningfully combined to provide a uniform and predictablealternate reality representation. This objective is fulfilled in someembodiments using a data stacking approach whereby data that describesvirtual objects and other virtual world elements are organized intostacks. Each stack includes at a minimum baseline data that describesvirtual elements (e.g., virtual objects) for a location. The stack mayfurther include any number of customized layers which contain deltas.Deltas provide modifications to the baseline data. The original baselinedata is not itself altered, but rather it is combined with one or moredeltas to created altered representations (e.g, visual displays) thatmay be unique for different users.

As a specific illustrative example, consider the case of a user of anaugmented reality system where the user is a mining company (moreparticularly, an employee of a mining company). Baseline data mayindicate a field at a particular geolocation. However, the miningcompany has converted the field into a hole which, moreover, continuesto grow each passing day. A customized layer, which contains one or moredeltas, may be stored and updated that accurately reflects the existenceof the hole at the geolocation in question and the hole's up-to-datedepth. Another user of the same baseline data may be an airline (moreparticularly, a pilot employed by the airline) that has no need ordesire of knowing that a hole exists at the geolocation in question. Theairline is concerned with changes at the field which would give rise toincreases in elevation, such as the erection of a cell tower or askyscraper, but depressions in the earth are of little to no concern. Itis therefore adequate if not desirable to continue to serve the airlinebaseline data which represents a field at the geolocation in questionyet serve the mining company with a representation based on the baselinedata that has been modified or substituted with the customized layerthat describes the hole.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an exemplary system for producing an augmented realityrepresentation based on a data collection containing deltas to abaseline geocoded data set.

FIG. 2 is an exemplary process for producing an augmented realityrepresentation based on a data collection containing deltas to abaseline geocoded data set.

DETAILED DESCRIPTION

FIG. 1 shows an exemplary system 100 for producing customized augmentedreality representations based on data collections containing deltaswhich modify baseline data of a baseline virtual model. The illustrativesystem 100 comprises databases 101 and 102 which store baseline datasets that describe baseline virtual models B₁ and B₂. Layers M, N, X, Y,and Z are stored in one or more databases 103. Users 1 and 2 requirevirtual reality outputs based on baseline virtual model B₁. However,each of User 1 and User 2 requires separate customizations of thebaseline virtual model B₁. To provide user-specific customizations tothe baseline model, the system 100 comprises one or more processors 107and 108 configured to receive requests from User 1 and User 2 specifyingthe collections 105 and 106 to be used for producing alternate realityoutputs. The one or more processors 107 and 108 are configured toprocess the user requests and, in conjunction with output devices, applythe requested collections to the baseline data to generate thecustomized outputs. The system 100 includes the separate collections 105and 106, labeled Collection C and Stacks S, respectively. Thesecollections, like the layers of which they are comprised, may be storedin one or more databases 103.

A stack of layers is a collection of layers in which the layers areassigned an explicit and strict ordering, lowest to highest, with nolayers sharing the same position in the stack. Other collections mayhave layers which are structured in more complex ways, e.g., using analgorithm that determines which layer takes precedence based on acomplex relationship calculated against potentially dozens of metadatafields and/or other attributes of the layers. An example of a morecomplicated ordering may be that if each layer has three metadata fieldsA, B, and C, then the determination of whether layer 1 takes precedenceover layer 2 might be “a layer takes precedence if A1>A2, or if that isnot the case, if B1+(C1*A1)<B2+(C2*A2)”.

Each collection 105 and 106 contains multiple layers. In particular,Collection C contains two layers, Layer M and Layer N. Stack S containsthree layers: X, Y, and Z. Each layer contains one or more deltas whichspecify particular changes or modifications to a baseline virtual model.Collection 105 is used by processor(s) 107 to modify baseline model B₁for User 1, while collection 106 is used by processor(s) 108 to modifybaseline model B₁ for User 2. The system 100 is thus able to providedifferent virtual reality representations to the separate users. Despiteboth virtual realities 109 and 110 being based on the same baselinemodel B₁, each user is displayed a different virtual reality output withvirtual representations customized according to different collections,105 or 106.

Baseline data B₁ or B₂ may include a baseline set of geodata for anypredefined geographic area, such as the planet, or some portion of theplanet (e.g., a continent, a country, a state, a county, etc.).

The layers of a data collection 105 or 106 each contain one or more“deltas,” which in FIG. 1 are labeled with the Greek letter “Δ”. Deltasmay be selected, deselected, or not selected. If a delta is selected,the virtual objects corresponding with the geolocation in question arebased on a combination of the baseline data for that geolocation butwith the modifications described by the selected delta. If a delta isdeselected or not selected, it has no effect on the alternate realityrepresentation for the geolocation in question. In short, an exemplarydelta specifies a change with respect to the baseline. An alternativeexemplary delta specifies a change with respect to another layer.According to the latter delta type, one layer may modify the augmentedreality representation resulting from a separate layer.

The deltas specified in a layer may take the form of either an area ofeffect (e.g., lat/long point, or rectangle on the surface of the Earthspecified as two lat/long corners, or a list of lat/long points thatoutlines an irregular area, or a 3D area such as a box specified viathree lat/long/altitude points, etc.) or alternatively would specify aparticular object, either as a linking pointer in the database or as anidentifier. The changes to the area of effect, or to the specifiedobject, are then described in the delta. For example, an area of effectmight be painted green whereas the baseline is colored brown, or itmight be geocoded to indicate it was now forested whereas the baselinewas open ground. Or for an object, the object might be replacedwholesale by another 2D or 3D object, or it might have a delta expressedin terms of a change to the shape, color, or metadata of the object orof one of its subunits. For example, if an object is formed from a redsphere topped by a green cube, the delta might change the green cube toyellow. Or if an object has metadata of dBm received signal powerassociated with it, that metadata might have its numerical value updatedby a delta.

Though the deltas in a layer would be very specific about either anobject or an affected location or area, the layer itself has no locationand no association with a specific object. A single layer may, forexample, contain changes to a baseline which are sprinkled over theentire planet within a planet wide baseline model.

The deltas in a single layer may be related to one another on one ormore of several different grounds. In some instances, the deltas in asingle layer may be related by the source or author of the deltas. Insome cases, the deltas in a single layer may be related by an event thatcaused the deltas. In some cases, the deltas in single layer may berelated by the version of a subscription service that provides thedeltas. In still other cases other bases may exist for a group of deltasto share a common layer.

The layers that compose a collection (e.g., a stack) are chosen andgrouped to be used at the same time, due to a user's desire to combineinputs from various sources and dates of issue to serve a particularpurpose for the virtual view. The layers chosen would be those relevantto the user's task at hand, and the resolution algorithm (human-aided insome cases) would combine the deltas in the layers to compose a net VRpresentation.

In many instances, a plurality of layers are used concurrently forproducing an alternate reality representation. This is the case inFIG. 1. Layers M and N of Collection C are used concurrently to modifybaseline model B₁ for creating a customized alternate realityrepresentation for User 1. Layers X, Y, and Z of Stack S are usedconcurrently to modify baseline model B₁ for creating a customizedalternate reality representation for User 2. To any extent two or morelayers conflict, one or more conflict resolution algorithms may be usedto resolve the conflict prior to presentation with an output device. Anexemplary conflict resolution algorithm is sequential application oflayers based on a predetermined ranking or priority system so thatultimately one layer controls for each conflict. An exemplary conflictresolution algorithm enforces sequential application of layers so thatthe layer higher in the stack always wins in the case of a conflict. Forinstance, in Stack S, a layer which is higher in the stack may havepriority over any layers which are lower in the stack. Therefore, LayerZ has priority over Layers X and Y. Layer Y has priority over Layer Xbut not over Layer Z. A variety of different conflict resolutionalgorithms may be employed by different embodiments.

A collection may have as few as one layer. On the other hand, acollection may have tens, hundreds, or thousands of customized layersstacked together for a particular user or a particular use. Indeed, froma functional perspective, there is not a hard upper limit on the numberof layers or deltas that may be combined in single collection.

In consideration of the large numbers of layers which may be employedtogether in a single collection (e.g., stack), a significant aspect ofsome embodiments centers on the process of selecting which layers of agiven stack are used to create the alternate reality representation. Thecorollary to this is the identification of which layers of a givencollection are not selected for use to create the alternate realityrepresentation.

Some exemplary embodiments comprise channels or steps involving use ofchannels, where a given channel corresponds to a given collection. Anexemplary collection for a channel includes layers of augmented realitycontent. An exemplary collection for a channel may further include oneor more other layers consistent with other embodiments described herein.An exemplary system may provide a user with access to a plurality ofchannels, the user having the option to switch between or among channelsusing a VR or AR device. Changing channels causes a change in thecollection relied upon to provide a VR or AR output to the user. As anillustrative example, a user may be walking down a particular streetwith an AR headset that provides the user with an AR experience by whichpink clouds are displayed and buildings along the street are coloredrainbow. These augmentations are produced in connection with aparticular collection of layers. The user may then provide an input tothe AR device instructing the device to change to another channel, andsuddenly the user is walking through tombstones on the ground withzombies following the user. The tombstone and zombie augmentations arethe product of a second collection which is now being relied upon by theAR device to produce an AR output to the user.

In some but not all respects, a channel of AR content is analogous witha TV channel, in that changing a channel changes the output (and sourcecontent for the output). However, a channel according to presentembodiments involves content that is geocoded to the real world. Eachchannel is built through combining a certain set of layers of data. Theconsumption of AR content may be implemented from the user's perspectivesimply by the user selecting which channel he or she wants toexperience. An exemplary device or system makes available the pluralityof channels and uses the appropriate collection of layers to provide anoutput in dependence on the most recent channel selection received fromthe user.

An exemplary implementation for layer selection is a subscriptionprocess. A particular user may subscribe to specific layers according tovarious conditions or parameters. For instance, ownership rights may beassigned to specific layer, and selection of the layer for use increating an alternate reality representation may be dependent on whethera user has ownership or license rights to the layer. As another example,a specific layer may be tagged or labeled to associate the layer with aspecific industry. For instance, referring back to the mining companyexample above, the layer which describes the hole in the field may havea “mining” tag which would attract subscriptions from mining companiesand constructions companies, for instance, but not necessarily aviationcompanies.

The subscription system of selection allows changes to be made to layersby an active party while passive parties that subscribe to the samelayer experience altered representations (e.g., augmentations) as aresult of the changes made by the active party. For instance, a layermay be provided that describes weather conditions to be simulatedvirtually. The weather layer may be modified over time by an activeparty such as the National Weather Service. Users that subscribe to theweather layer such as road maintenance companies, constructioncompanies, towing companies, snow plowing service companies, airlines,and ordinary individuals (e.g., without relevant company affiliations)may all have their virtual representations of the weather change inaccordance with the modifications to the weather layer made by theNational Weather Service.

In short, users can subscribe to individual layers and receiverecurrently updated feeds of data for those particular layers. If activeparties with proper access rights make modifications, layers may bechanged or new deltas added. Users subscribe to one or more levelswithin each stack. A VR our AR device using the stored data pulls fromparticular layers when creating an alternate reality representationbased on the subscriptions.

Layers may be assigned rankings or priorities. Layers may also havepredefined combinations. As an illustrative example, a stack may consistof three layers, referred to as Layers X, Y, and Z, respectively. Acondition may be stored in the databases that Layers X and Z are alwaysused in combination. Another condition may be stored which specifiesthat Layer Z is always to be given priority over Layer Y, such that ifboth layers are selected and a conflict exists between Layer Z and LayerY, Layer Z controls.

Separate layers that belong to the same collection may be storedtogether or separately. For instance, users may separately store theirown proprietary layers which are accessed by a central processor only atsuch time that they are combined with the baseline data for providing analternate reality representation. In short, layers which affect a singlegeolocation may be received from different sources which constitutedifferent feeds to a central system. The processor(s) of the centralsystem are configured to combine and integrate the separate feeds priorto providing the alternate reality representation (e.g., displaying avirtual reality for the geolocation). A given layer may be included inmultiple collections or stacks.

Some information may only be represented in a VR or AR representation(e.g., represented as an augmentation) if the information in questionappears in at least two different layers. A processor may be configuredto compare two or more layers for shared information and then producethe alternate reality representation in reliance on the sharedinformation and in nonreliance on information that fails to exist in allof the compared layers.

In general, layers function to modify or substitute baseline data. InFIG. 1, for example, Layers X, Y, and Z all act on baseline model B₁.This is represented in FIG. 1 by the arrows being drawn directly fromeach layer in Stack S to the virtual reality output 110. Layers may alsoor alternatively function to modify or substitute the data of otherlayers. More specifically, as illustrated in FIG. 1 by Collection C, alayer M may affect what data of layer N is used in an augmentation.Layer M may cause layer N to become “invisible,” in other words it isnot used in the augmentation representation of output 109. In an absenceof layer M, however, layer N would be used in creating the augmentationin output 109.

FIG. 2 shows an exemplary method 200 for providing a customizedalternate reality to a user. At block 201, one or more databases storedata useable to modify or substitute baseline data of a baseline model,the customized data being stored as layers which comprise groups ofdeltas, each delta specifying a change with respect to the baselinemodel. At block 202, one or more processors receive a request forpresentation of a virtual or augmented reality, wherein the requestspecifies one or more collections of one or more layers forpresentation. At blocks 203 and 204, the one or more processors provide,in communication with one or more output devices, a virtual reality oraugmented reality output based on the baseline model, including for eachcollection, (i) temporarily modifying or substituting the baseline datain accordance with the one or more layers specified by the request, and(ii) generating one or more of auditory, visual, and tactile outputsusing the temporarily modified or substituted baseline data.

The databases 101, 102, and 103 (see FIG. 1) may be or comprise computerreadable storage media that are tangible devices that can retain andstore instructions for use by an instruction execution device likeprocessors. The computer readable storage medium may be, for example,but is not limited to, an electronic storage device, a magnetic storagedevice, an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network(LAN), a wide area network and/or a wireless network. The network maycomprise copper transmission cables, optical transmission fibers,wireless transmission, routers, firewalls, switches, gateway computersand/or edge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Java, Smalltalk, C++ or the like,and conventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or schematic diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and different combinations ofblocks in the flowchart illustrations and/or block diagrams, may beimplemented by or with the use of computer readable program instructionsand by or with one or a plurality of processors and supporting hardware,software, and firmware.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. This may have the effect of making a generalpurpose computer a special purpose computer or machine. A “processor” asfrequently used in this disclosure may refer in various embodiments toone or more general purpose computers, special purpose computers, orsome combination thereof. Computer readable program instructions mayalso be stored in a computer readable storage medium that can direct acomputer, a programmable data processing apparatus, and/or other devicesto function in a particular manner, such that the computer readablestorage medium having instructions stored therein comprises an articleof manufacture including instructions which implement aspects of thefunction/act specified in the flowchart and/or block diagram block orblocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

As used herein, “alternate reality” encompasses both “augmented reality”and “virtual reality”. Augmented reality, or “AR”, is a direct orindirect experience of a physical, real-world environment in which oneor more elements are augmented by computer-generated sensory output suchas but not limited to sound, video, graphics, or haptic feedback.Augmented reality is frequently but not necessarily live/insubstantially real time. It is related to a more general concept called“mediated reality”, in which a view of reality is modified (e.g.,diminished or augmented) by a computer. The general intent is to enhanceone's natural perception of reality (e.g., as perceived by their senseswithout external devices). In contrast to mediated reality, “virtualreality” replaces the real world with a simulated one. Augmentation isconventionally in real-time and in semantic context with environmentalelements. For example, many Americans are accustomed to augmentedreality when watching American football on a television. A football gameas captured by video cameras is a real world view. However, thebroadcasting company frequently augments the recorded image of the realworld view with the line of scrimmage and first down markers on thefield. The line and markers do not exist in reality, but rather they arevirtual augmentations that are added to the real world view. As anotherexample, in televised Olympic races, moving virtual lines can besuperimposed on tracks and swimming pools to represent the position of arunner or swimmer keeping pace with the world record in the event.Augmented reality that is not in in real-time can be, for example,superimposing the line of scrimmage over the image of a football matchthat is being displayed after the match has already taken place.Augmented reality permits otherwise imperceptible information about theenvironment and its objects to supplement (e.g., be overlaid on) a viewor image of the real world.

Virtual reality, or “VR”, involves substituting real world environmentalstimuli with simulated stimuli. VR systems frequently obscure a user'svision of real world surroundings completely and serve as the solesource of light stimuli experienced by a user's eyes at a given instancein time. VR systems may also include auditory and tactile output deviceswhich may include components that block external stimuli associated withreal world surroundings. For instance, in-ear and over-ear headphonesprovide passive attenuation of external sounds which are not produced bythe VR system. Active noise cancellation of external sounds may be alsoemployed by some VR systems.

“Geo-coded” is an adjective used herein to indicate that the noun itmodifies, usually a datum or data of a particular type (e.g., asset dataor measurements data), is paired with geographical location informationidentifying a geographic point (e.g., latitude and longitude andelevation, physical address, etc.) with which the noun (e.g., the datumor data) is associated. GIS data is a geo-code with which other data maybe geo-coded. As an example, a measurement of signal strength isgeo-coded to identify a particular geographic location where thatmeasurement was taken. As another example, asset information such as thespecs of a base station is geo-coded so that it is possible to pinpointexactly where the base station is physically located.

Location information may be absolute (e.g., latitude, longitude,elevation, and a geodetic datum together may provide an absolutegeo-coded position requiring no additional information in order toidentify the location), relative (e.g., “2 blocks north of latitude30.39, longitude −97.71 provides position information relative to aseparately known absolute location), or associative (e.g., “right nextto the copy machine” provides location information if one already knowswhere the copy machine is; the location of the designated reference, inthis case the copy machine, may itself be absolute, relative, orassociative). Absolute location involving latitude and longitude may beassumed to include a standardized geodetic datum such as WGS84, theWorld Geodetic System 1984. In the United States and elsewhere thegeodetic datum is frequently ignored when discussing latitude andlongitude because the Global Positioning System (GPS) uses WGS84, andexpressions of latitude and longitude may be inherently assumed toinvolve this particular geodetic datum. For the present disclosure,absolute location information may use any suitable geodetic datum, WGS84or alternatives thereto.

An “output device”, as used herein, is a device capable of providing atleast visual, audio, audiovisual, or tactile output to a user such thatthe user can perceive the output using his senses (e.g., using her eyesand/or ears). In many embodiments, an output device comprises at leastone display, at least one speaker, or some combination of display(s) andspeaker(s). The output device may also include one or more hapticdevices. A suitable display (i.e., display device) is a screen of anoutput device such as a mobile electronic device (e.g., phone,smartphone, GPS device, laptop, tablet, smartwatch, etc.). Anothersuitable output device is a head-mounted display (HMD). In someembodiments, the display device is a see-through HMD. In such cases thedisplay device passively permits viewing of the real world withoutreproducing details of a captured real world image feed on a screen. Ina see-through HMD, it is generally only the augmentations that areactively shown or output by the device. Visual augmentations are in anycase superimposed on the direct view of the real world environment,without necessarily involving the display of any of the original videoinput to the system. Output devices and viewing devices may include orbe accompanied by input devices (e.g., buttons, touchscreens, menus,keyboards, data ports, etc.) for receiving user inputs. Some devices maybe configured for both input and output (I/O).

While the invention has been described herein in connection withexemplary embodiments and features, one skilled in the art willrecognize that the invention is not limited by the disclosure and thatvarious changes and modifications may be made without departing from thescope of the invention as defined by the appended claims.

What is claimed is:
 1. A method for a virtual or augmented reality,comprising storing in one or more databases data useable to modify orsubstitute baseline data of a baseline model, the customized data beingstored as layers which comprise groups of deltas, each delta specifyinga change with respect to the baseline model; receiving, with one or moreprocessors, a request for presentation of a virtual or augmentedreality, wherein the request specifies one or more collections of one ormore layers for presentation; providing, with the one or more processorsin communication with one or more output devices, a virtual reality oraugmented reality output based on the baseline model, including for eachcollection, temporarily modifying or substituting the baseline data inaccordance with the one or more layers specified by the request, andgenerating one or more of auditory, visual, and tactile outputs usingthe temporarily modified or substituted baseline data.
 2. The method ofclaim 1, wherein the request received at the receiving step is asubscription request.
 3. The method of claim 1, wherein the requestreceived at the receiving step is a channel selection.
 4. A system forvirtual or augmented reality, comprising one or more databasesconfigured to store data useable to modify or substitute baseline dataof a baseline model, the customized data being stored as layers whichcomprise groups of deltas, each delta specifying a change with respectto the baseline model; one or more processors configured to executeinstructions causing the one or more processors to perform receiving arequest for presentation of a virtual or augmented reality, wherein therequest specifies one or more collections of one or more layers forpresentation; providing, in communication with one or more outputdevices, a virtual reality or augmented reality output based on thebaseline model, including for each collection, temporarily modifying orsubstituting the baseline data in accordance with the one or more layersspecified by the request, and generating one or more of auditory,visual, and tactile outputs using the temporarily modified orsubstituted baseline data.
 5. The system of claim 4, wherein the requestreceived is a subscription request.
 6. The system of claim 4, whereinthe request received is a channel selection.